StepsForm 通过 Provider 来管理子表单的数据,每个子表单都是完整的数据,在 StepsForm 组合成最后的数据。同时自带了一个进度条,和管理进度条的相关 API.
StepsForm 继承了 Form.Provider ,相关文档可以看这里,转化 moment 的值是 ProForm 提供的功能,所以
onFormFinish和onFormChange其中的值都是未经转化的。
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| current | 当前表单的步骤数,从 0 开始 | number | 0 |
| onCurrentChange | current 发生改变的事件 | (current:number)=>void | - |
| onFinish | 表单最后一步提交成功触发,如果返回true就会自动重置表单(包括StepForm变回第一步) | (values:T)=>void | boolean | - |
| stepsProps | StepsForm 自带的 Steps 的 props,使用方式与 antd 相同,但是去掉了 current 和 onChange | props | - |
| stepFormRender | 自定义当前展示的表单,返回 dom 在表单内部 | (form) => ReactNode | - |
| stepsFormRender | 自定义整个表单区域,返回的 dom 在表单的外部 | (form,submitter) => ReactNode | - |
| stepsRender | 自定义步骤器 | (steps,dom)=>ReactNode | - |
| formRef | StepForm action 的引用,便于自定义触发 | MutableRefObject<FormInstance> | - |
与 ProForm 完全相同,只是 onFinish 支持了 Promise,如果返回 false, 就不会跳转下一步。
| onFinish | 表单提交成功触发 | (values:T)=>Promise<false> | - |